/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package se.sll.engagemangsindex.entity;

import java.io.Serializable;
import java.sql.Timestamp;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.validation.constraints.NotNull;
import lombok.*;

/**
 * Entity modeled after the service contract itintegration:engagementindex (r901) found at http://code.google.com/p/rivta/
 * @author khaleddaham
 */
@Entity
@Data
public class Engagement implements Serializable {

    @Id
    @GeneratedValue
    @Getter(AccessLevel.NONE)
    @Setter(AccessLevel.NONE)
    private Long id;
    @NotNull
    private String registeredResidentIdentification;
    @NotNull
    private String serviceDomain;
    @NotNull
    private String categorization;
    @NotNull
    private String logicalAddress;
    @NotNull
    private String businessObjectInstanceIdentifier;
    @NotNull
    private String sourceSystem;
    @NotNull
    private Timestamp creationTime;
    @NotNull
    private String owner;
    @NotNull
    private String clinicalProcessInterestId;    
    private Timestamp updateTime;
    private String mostRecentContent;
}